<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html class="x-admin-sm">
<head>
    <meta charset="UTF-8">
    <title>欢迎页面-X-admin2.2</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
    <link rel="stylesheet" href="/resources/css/font.css">
    <link rel="stylesheet" href="/resources/css/xadmin.css">
    <script src="/resources/lib/layui/layui.js" charset="utf-8"></script>
    <script type="text/javascript" src="/resources/js/xadmin.js"></script>
</head>
<body>
<div class="x-nav">
          <span class="layui-breadcrumb">
            <a href="">首页</a>
            <a href="">演示</a>
            <a>
              <cite>导航元素</cite></a>
          </span>
    <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right"
       onclick="location.reload()" title="刷新">
        <i class="layui-icon layui-icon-refresh" style="line-height:30px"></i></a>
</div>
<div class="layui-fluid">
    <div class="layui-row layui-col-space15">
        <div class="layui-col-md12">
            <div class="layui-card">
                <div class="layui-card-body ">
                    <form class="layui-form layui-col-space5">

                        <div class="layui-inline layui-show-xs-block">
                            <input type="text" name="id" placeholder="请输入ID" autocomplete="off"
                                   class="layui-input">
                        </div>
                        <div class="layui-inline layui-show-xs-block">
                            <input type="text" name="deptName" placeholder="请输入人员姓名" autocomplete="off"
                                   class="layui-input">
                        </div>
                        <div class="layui-inline layui-show-xs-block">
                            <button class="layui-btn" lay-submit lay-filter="search"><i
                                    class="layui-icon">&#xe615;</i></button>
                        </div>
                    </form>
                </div>
                <div class="layui-card-header">
                    <button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量删除
                    </button>
                    <button class="layui-btn" onclick="xadmin.open('添加人员','dept-add',600,400)"><i
                            class="layui-icon"></i>添加人员
                    </button>
                </div>


                <div class="layui-card-body ">
                    <table class="layui-table layui-form" id="staffList" lay-filter="Z-alert"></table>
                </div>


            </div>
        </div>
    </div>
</div>
<div class="site-text" style="margin: 5%; display: none" id="jobDetail" target="test123">
    <div class="layui-form-item layui-form-text">
        <label class="layui-form-label">部门职责</label>
        <div class="layui-input-block">
            <textarea style="height: 400px; width: 400px" class="layui-textarea" id="deptJob" name="desc"
                      placeholder="请输入内容"></textarea>
        </div>
    </div>
</div>
</body>
</html>
<script>
    layui.use(['table','form'], function () {
            var table = layui.table;
            var form = layui.form;
            table.render({
                elem: '#staffList'
                , url: '/dept/staffList' //数据接口
                , page: true //开启分页
                , parseData: function (result) { //res 即为原始返回的数据
                    all = result;
                    return {
                        "msg": result.msg, //解析提示文本
                        "count": result.total, //解析数据长度
                        "code": result.code == 200 ? 0 : -1,
                        "data": result.data //解析数据列表
                    };
                }
                , cols: [[ //表头
                    {type: 'checkbox'} //开启多选框
                    , {field: 'id', title: '员工编号', sort: true}
                    , {field: 'name', title: '员工姓名'}
                    , {field: 'sex', title: '性别', event: 'deptJob'}
                    , {field: 'deptId', title: "所属部门"}
                    , {field: 'idCard', title: "身份证号"}
                    , {field: 'eduBackground', title: "学历"}
                    , {field: 'degree', title: "学位"}
                    , {field: 'major', title: "专业"}
                    , {field: 'eduType', title: "受教育形式"}
                    , {field: 'birthday', title: "生日"}
                    , {field: 'joinDate', title: "入职日期"}
                    , {field: 'status', title: "员工状态"}
                    , {fixed: 'right', title: "操作", width: "15%", align: 'center', toolbar: '#barDemo'}
                ]]
            });
            table.on('tool(Z-alert)', function (obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
                var data = obj.data; //获得当前行数据

                var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
                var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）
                if (layEvent == "deptJob") {

                    $("#deptJob").val(all.data[0].deptJob)
                    layer.open({
                        type: 1,
                        title: "部门职责",
                        area: ['50%', '80%'],
                        btn: ['确定', '取消'],
                        content: $('#jobDetail'),

                    });
                }

                if (layEvent === 'detail') { //查看
                    //do somehing
                } else if (layEvent === 'del') { //删除
                    layer.confirm('真的删除行么', function (index) {
                        obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                        layer.close(index);
                        $.ajax({
                            url: "/dept/deptDel",
                            type: "post",
                            data: JSON.stringify(data),
                            //告诉jquery，不要处理我的数据
                            processData: false,
                            //告诉jquery，不要设置我的content-type请求头
                            contentType: "application/json",
                            success: function (res) {
                                if (res.code == 200) {
                                    layer.msg(res.msg);
                                } else {
                                    layer.msg(res.msg);
                                }
                            }
                        })
                        //向服务端发送删除指令
                    });
                } else if (layEvent === 'edit') { //编辑
                    //do something
                    sessionStorage.setItem('editData', JSON.stringify(data));
                    layer.open({
                        type: 2,
                        title: '编辑页面',
                        content: 'staff-edit', // 传递数据到编辑页面
                        area: ['800px', '600px'],
                        maxmin: true,
                        end: function () { // 新页面关闭时的回调函数
                            // 可以在这里刷新表格数据等操作
                            table.reload('dynamicTable');
                        }
                    });
                    //同步更新缓存对应的值
                    obj.update({
                        username: '123'
                        , title: 'xxx'
                    });
                } else if (layEvent === 'LAYTABLE_TIPS') {
                    layer.alert('Hi，头部工具栏扩展的右侧图标。');
                }



            });

        form.on('submit(search)', function(data){
            var field = data.field; // 获得表单字段


            // 执行搜索重载
            table.reload('staffList', {
                url:"/dept/deptSearch",
                where: field // 搜索的字段
            });

            return false; // 阻止默认 form 跳转
        });
            // 重新渲染表格方法
            window.reload = function () {
                // 重新渲染表格
                table.reloadData('staffList', {
                    // 设定重载数据或切换分页时的滚动条的位置状态
                    scrollPos: true,
                });
            }
        }
    )


    layui.config({
        base: '', // 设定 Layui 扩展模块的所在目录，一般与 extend 方法搭配使用
        version: false, // 用于更新模块缓存，默认 false。若设为 true，即让浏览器不缓存。也可设为一个任意数值
        dir: 'layui/', // layui 基础目录，用于动态导入 src/layui.js 时的内置模块的加载。一般无需设置
        debug: false // 用于开启调试模式，默认 false。若设为 true，则模块的引入节点会保留在页面
    });

    layui.use(['laydate', 'form'],
        function () {
            var laydate = layui.laydate;

            //执行一个laydate实例
            laydate.render({
                elem: '#start' //指定元素
            });

            //执行一个laydate实例
            laydate.render({
                elem: '#end' //指定元素
            });
        });

    // 批量删除
    function delAll() {
        let table = layui.table.checkStatus("staffList");
        //获取选中行数据
        let data = table.data;
        layer.confirm('确认要删除吗？', function (index) {
            $.ajax({
                url: '/dept/deptBatch',
                method: 'post',
                data: JSON.stringify(data),
                contentType: 'application/json',
                success: function (data) {
                    layer.msg("删除成功");
                    reload();
                },
                error: function (data) {
                    layer.msg("网络错误");
                }
            })
        });
    }
</script>
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-xs" lay-event="edit" onclick="xadmin.add_tab('人员编辑','/dept/staff-edit')">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

